package nl.siegmann.epublib.epub;


/**
 * Functionality shared by the PackageDocumentReader and the PackageDocumentWriter
 *  
 * @author paul
 *
 */
public class PackageDocumentBase {
	public static final String BOOK_ID_ID = "BookId";
	public static final String NAMESPACE="xmlns";
	public static final String PREFIX_NAMESPACE="prefix";
	public static final String DC_NAMESPACE="xmlns:dc";
	public static final String NAMESPACE_OPF = "http://www.idpf.org/2007/opf";
	public static final String NAMESPACE_PREFIX_REFLOWABLE="cc: http://creativecommons.org/ns#";
	public static final String NAMESPACE_PREFIX_FIXED="cc: http://creativecommons.org/ns# rendition: http://www.idpf.org/vocab/rendition/#";
	public static final String NAMESPACE_DUBLIN_CORE = "http://purl.org/dc/elements/1.1/";
	public static final String PREFIX_DUBLIN_CORE = "dc";
	public static final String PREFIX_OPF = "opf";
	public static final String dateFormat = "yyyy-MM-dd";
	public static final String XHTML_MEDIATYPE="application/xhtml+xml";
	
	protected interface DCTags {
		String title = "title";
        String creator = "creator";
        String subject = "subject";
        String description = "description";
        String publisher = "publisher";
        String contributor = "contributor";
        String date = "date";
        String type = "type";
        String format = "format";
        String identifier = "identifier";
        String source = "source";
        String language = "language";
        String relation = "relation";
        String coverage = "coverage";
        String rights = "rights";
	}
	
	protected interface DCAttributes {
		String scheme = "scheme";
		String id = "id";
	}
	
	protected interface DCValues{
		String title = "title";
		String creator = "creator";
	}
	
	protected interface OPFTags {
		String metadata = "metadata";
		String meta = "meta";
		String manifest = "manifest";
		String packageTag = "package";
		String itemref = "itemref";
		String spine = "spine";
		String reference = "reference";
		String guide = "guide";
		String item = "item";
	}
	
	protected interface OPFAttributes {
		String uniqueIdentifier = "unique-identifier";
		String xmlLang="xml:lang";
		String dir="dir";
		String idref = "idref";
		String name = "name";
		String content = "content";
		String type = "type";
		String href = "href";
		String linear = "linear";
		String event = "event";
		String role = "role";
		String file_as = "file-as";
		String id = "id";
		String media_type = "media-type";
		String title = "title";
		String toc = "toc";
		String version = "version";
		String scheme = "scheme";
		String property = "property";
		String properties = "properties";
		String refines = "refines";
		String fallback="fallback"; 
	}
	
	protected interface OPFValues {
		int bookTypeReflowable=1;
		int bookTypeFixed=2;
		String epubVersion="3.0";
		String id_cover = "cover";
		String meta_cover = "cover";
		String reference_cover = "cover";
		String epub3_cover_image = "cover-image";
		String no = "no";
		String generator = "generator";
		String dcterms_modified = "dcterms:modified";
		String title_type = "title-type";
		String display_seq = "display-seq";
		String file_as = "file-as";
		String nav_scripted = "nav scripted";
		String nav="nav";
		String scripted="scripted";
		String nav_resource = "nav";
		String xmlLangValue="en";
		String dirValue="ltr";
		String idValue="package";
		String renditionLayout="rendition:layout";
		String renditionOrientation="rendition:orientation";
		String renditionSpread="rendition:spread";
		String reflowable="reflowable";
		String prePaginated="pre-paginated";
		String rendOrientLandscape="landscape";
		String rendOrientPortrait="portrait";
		String rendSpreadNone="none";
		String rendSpreadLandscape="landscape";
		String rendSpreadPortrait="portrait";
		String rendSpreadBoth="both";
		String auto="auto";
		String pageSpreadLeft="page-spread-left";
		String pageSpreadRight="page-spread-right";
		String pageSpreadCenter="rendition:page-spread-center";
	}
}